Image search engine supporting adult content filtering

ABSTRACT

An Internet infrastructure supports searching of images by correlating a category selection with that of plurality of images hosted in Internet based servers in selected categories. An image search server supports delivery of search result pages to a client device based upon a search image or category selection, and contains images from a plurality of Internet based web hosting servers. The image search server delivers characteristic analysis of an image to the client device upon request. The selection of images is based upon: (i) word match, that is, by selecting images, titles of which correspond to the search image; and (ii) image correlation, that is, by selecting images, image characteristics of which correlates to that of category selection. The selection of images in the search result page also occurs on the basis of popularity. The category selection server also selects category based upon user&#39;s choice.

CROSS REFERENCE TO PRIORITY APPLICATIONS

The present U.S. Utility Patent Application claims priority pursuant to35 U.S.C. §120, as a continuation to the following U.S. Utility PatentApplication:

1. U.S. Utility application Ser. No. 12/185,796, filed Aug. 4, 2008, nowissued as U.S. Pat. No. 8,190,623, which claims priority pursuant to 35U.S.C. §119(e) to the following U.S. Provisional Application which ishereby incorporated herein by reference in its entirety and made part ofthe present U.S. Utility Patent Application for all purposes:

-   -   a. U.S. Provisional Application Ser. No. 61/059,162, filed Jun.        5, 2008, having a common title with the present application,        which is hereby incorporated herein by reference in its entirety        and made part of the present U.S. Utility Patent Application for        all purposes.

CROSS REFERENCE TO RELATED APPLICATION

The present application is related to U.S. Utility application Ser. No.12/185,804 filed Aug. 4, 2008, co-pending and now issued as 8,180,788,and entitled “IMAGE SEARCH ENGINE EMPLOYING IMAGE CORRELATION,”(ENKUS01), which is incorporated herein in its entirety by reference forall purposes.

BACKGROUND

1. Technical Field

The present invention relates generally to Internet infrastructures;and, more particularly, to search engines.

2. Related Art

Image search engines are used everywhere to search for images that areavailable in the hosted web pages and image databases. Users may searchfor images with a wide variety of interests such as business,engineering and scientific research as well as home based generalinterests. Search engines usually select images to be displayed assearch result based upon a search keyword (or, search string) andpopularity of the images. A plurality of images are displayed in eachsearch result page with a ‘next’ and ‘previous’ buttons to guide theuser to subsequent and previous search result pages, that contain moreimages.

Users often look for images, having certain type of images in mind suchas cartoon, portrait, landscape, graphics, scientific and architectureimages. Often, these search results do not meet user's expectations,because the search engines attempt to match words in the title of theimages with that of search string. This results in wide variety ofimages being displayed, many of them being totally unrelated to theuser's subject of interest. In addition, many images contain adultcontent which are not desirable in many instances, such as when childrenare searching for images or when searching in front of an audience.

For example, a user may enter ‘children art’ as the image search string,desiring to find hand drawn images made by children of specific kind andmay receive a long list of images of variety of images, page after page.Images may contain cartoons, pictures taken by children, some hand drawnimages, pictures of children drawing images etc. These form wide varietyof subjects, very few of which are relevant to the user's search. Notgetting desired results in the initial page, the user may step throughseveral screens via the ‘next’ button. This again results in many of thesame kind of images that were previously unhelpful.

These and other limitations and deficiencies associated with the relatedart may be more fully appreciated by those skilled in the art aftercomparing such related art with various aspects of the present inventionas set forth herein with reference to the figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram illustrating an Internetinfrastructure containing a client device and web browser accessibleimage search server, wherein the image search server delivers one ormore images by using one or more of characteristic analysis,categorization and/or correlation;

FIG. 2 is a schematic block diagram illustrating exemplary components ofthe image search server constructed in accordance with the embodiment ofFIG. 1 of the present invention;

FIG. 3 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1;

FIG. 4 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1 upon delivering an image search server'sweb page, in accordance with the present invention;

FIG. 5 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1, continued from FIG. 4;

FIG. 6 is an exemplary schematic diagram illustrating snap shot ofsearch interface web page of the image search server of FIG. 1; and

FIG. 7 is an exemplary schematic diagram illustrating snap shot of afirst image search result page based upon a search string and a searchimage.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram illustrating an Internetinfrastructure 105 containing a client device 157 and a web browseraccessible image search server 169, wherein the image search server 169delivers one or more images by using one or more of characteristicanalysis, categorization and/or correlation. Specifically, in arepresentative embodiment, the image search server 169, upon receipt ofa search image 155 from web browser 151 of the client device 157,performs characteristic analysis of the search image 155, categorizesthe search image 155 into one of the plurality of image categories,searches for images in image database that correlate closely with thesearch image 155 (within in the determined category) and delivers searchresult pages containing images to the client device. In addition, theimage search server 169 may also deliver characteristic parametersobtained during characteristic analysis to the web browser 151 of theclient device 157, upon request.

The image search server 169 may also receive a search string 153, uponwhich the image search server 169 matches the word or words in thesearch string 153 with that or those of titles in plurality of images inthe database. Thus, the image search server 169 delivers images to theweb browser 151 of the client device 157 based upon search string 153and search image 155, constructing one or more search result pages anddelivering one search result page at a time. The search image 155 may besubmitted to the image search server 169, from the client device's 157web browser 151, by uploading the image in an image search server's(search engine's) web page, detailed description of which is providedwith reference to the description of snap shot in FIG. 6, for example.

The image search server 169 identifies characteristic parameters of thesearch image 155 received from the client device's 157 web browser 151,within the category selected by the user or automatically determined bythe image search server 169. The category or categories related to thesearch image 155, if not received from the user of the client device157, may be automatically determined by the image search server 169, bydetermining one or more characteristic parameters. The chosen categoryand characteristic parameter(s) may be delivered to the web browser 151of the client device upon request from the user. Then, the image searchserver 169 correlates these characteristic parameter(s) with that orthose of a plurality of images in the image database, within thecategory selected or automatically determined by the image search server169. The image search server 169 then selects and prioritizes imagesbased upon closeness in correlation to that of the search image 155 andon popularity basis. If the user chooses to search in all categories,then the image search server 169 skips categorization of the searchimage 155.

In addition, the image search server 169 also matches word(s) in thesearch string 153 with that or those of titles of the plurality ofimages in the image database 181 and selects a plurality of images,sorts them on the basis of closeness in match and popularity, anddelivers them to the web browser 151 of the client device 157. In all,the image search server 169, in a single page of image search results,may deliver: (i) images sorted on the basis of close correlation, withinone or more of categories; (ii) images sorted on the basis of both closecorrelation and popularity, within one or more of categories; (iii)images sorted on the basis of close matches between the word(s) of thesearch string 153 and that or those of titles of images in the imagedatabase, within one or more categories; and (iv) images sorted on thebasis of both close match and popularity, within one or more categories.The user may select: (i) one or more categories mentioned above; or (ii)may deselect any of the categories, allowing the image search server todetermine the category; or (ii) may select all of the categories, thus,switching off the function of categorizing. In addition, the imagesearch server 169 performs for adult content filtering based upon usersettings in the client device's 157 web browser 151. Detaileddescription of a typical search result page is provided with referenceto the description of web page snap shot in FIG. 7, for example.

The image search server 169 contains an image characteristic analysismodule 171 that analyzes the images and determines characteristicparameters of the images. The images in the image database are obtainedfrom a plurality of web hosting servers by crawling through them, or bysubmission from users. During crawling, for example, the imagecharacteristic analysis module 171 determines characteristicparameter(s) of each of the images it comes across in various webhosting servers. These characteristic parameter(s) are stored in theimage database along with the image, web links associated with theimages, among other information.

The image search server 169 also contains an image categorization module173 that determines the category of the images obtained during crawling,among a plurality of predetermined categories, based upon thecharacteristic parameter(s). This information of category is stored inthe image database along with other information such as characteristicparameter(s), web links associated with images and image titles.

When a search image 155 is received from the web browser 151 of theclient device 157, the image characteristic analysis module 171determines the characteristic parameter(s). This information isdelivered to the web browser 151 if user requests for such information.The characteristic parameter(s) related information may be tabled beforedelivery or alternatively, may be shown graphically, depicted on thesearch image itself. Upon delivery of a first search result page, forexample, the user may select any of the images displayed and request forcharacteristic analysis. In such a case, the image characteristicanalysis module 171 delivers characteristic parameter(s) of the imageselected, tabled or graphically.

Once characteristic parameter(s) of the search image 155 are determined,the image categorization module 173 determines the category of thesearch image 155. Alternatively, the user may also select one or morecategories within which the search is intended. In this case, the imagecategorization module 173 may skip determining the search image 155category. In addition, the image search server 169 contains an imagecorrelation module 173 that correlates characteristic parameter(s) ofsearch image 155 with that of the plurality of images in the imagedatabase. The correlated images in the image database are then sorted onthe basis of closeness in correlation and are tabled along with otherimage related information such as characteristic parameter(s), category,image titles and web links, where they were originally located. Anothertable may also contain, within the category, images sorted on the basisof popularity. These sorted images are filtered by an adult contentfilter module 177, by using digital image correlation. For digital imagecorrelation, the adult content filter module 177 may use sample imageswith adult content.

An image text search module 179 correlates word(s) in the search string153 and those of titles of the plurality of images in the imagedatabase. The correlated images may be sorted on the basis of closenessin correlation along with image titles and on web links where they areoriginally located. In another table the closely correlated images mayagain be sorted on the basis of popularity. These sorted images may alsobe filtered by the adult content filter module 177.

Based upon the sorting of images and the filtering, in a representativeembodiment, four basic tables are formed: (i) sorted on the basis ofcloseness in correlation to the search image 155, within the categoryselection; (ii) sorted on the basis of popularity within the first fewclosely correlated images in (i); (iii) sorted on the basis of closenessin match, within the category selection; and (iv) sorted on the basis ofpopularity in (iii). Finally, an image listing module 181 lists theimages from the four tables (i) through (iv) to form a plurality ofsearch result pages, each containing a certain portion of each of thetables (i) through (iv). This listing may be done in a mutuallyexclusive manner so that none of the images in any of the search resultpages is repeated. In case of selection of plurality of categories, someimages from each of these categories are selected, for each searchresult page. Then, the image search server 169 delivers a first of thesesearch result pages containing a first few search results thusconstructed.

The search result pages delivered contain a series of images from thefour sorted tables, and in addition taken from one or more user selectedor automatically generated categories. The search result page alsocontains ‘upload image’, ‘characteristic analysis’, ‘prey’ and ‘next’buttons to upload search image 155, analyze search image 155 or aselected image from the images displayed, access prior displayed searchresult pages and the subsequent search result pages, respectively.

In addition, the search result page also contains provision for usercategory selection. The category selection provision may allow a user toselect some of a plurality of options such as ‘Let SE (Search Engine)Determine’, ‘All Categories’, ‘Cartoon’, ‘Portrait’, ‘Landscape’,‘Graphics’ and ‘Architecture’. ‘Let SE (Search Engine) Determine’ optionallows the image search server to determine one or more categoriesautomatically based upon characteristic parameter(s) of the search image155. A first search engine web page also contains an image window whereuploaded image appears, before search process begins.

For example, a user may provide a search string 153 ‘children art’ and ahand drawn search image 155 of a boat (refer to the FIGS. 6 and 7). Theuser may have uploaded the search image 155 intending to find more ofsuch hand drawn images by other children. Upon clicking the‘characteristic analysis’ button, the image characteristic analysismodule 171 delivers image characteristic parameter(s) (in a pop upwindow, or the image window itself) either in a table format orgraphically with numbers displayed along with the image (in this case,the search image of the boat). The image categorization module 173 mayalso display the category or categories determined automatically, alongwith the characteristic parameter display. This enables user to selectcategories of interest, for example.

Then, upon clicking ‘image search’ button, the image characteristicanalysis module 171 begins processing the image of the boat byextracting characteristic parameter(s) of the image such as, for exampleand without limitation, pixels, colors of the pixels, strength of thepixels and position of the pixels. In addition, the image categorizationmodule 173 determines the category or categories within which to performsearch, either by receiving the category or categories from the user orautomatically determining it/them. Next, the image correlation module175 correlates the characteristic parameter(s) of the image with thecharacteristic parameter(s) of images in the image database. Closelycorrelated images resemble the search image 155 of the boat closely,thus extracting images that are most similar to the user uploaded searchimage 155. Then, a table of images is formed that is sorted on the basisof closeness of the images in the image database, thus the first imageresembling closest to that of the hand drawn boat image. In addition, inanother table, images that closely correlate with the search image 155of the boat are again sorted on the basis of popularity. These sortedimages may also be filtered by an adult content filter module 177. Inaddition, the image text search module 179 correlates the words ofsearch string ‘children art’ with the words of the titles of theplurality of images in the image database and forms a table of imagesthat is sorted using closeness in correlation. In another table, imagesthat closely correlate may again be sorted on the basis of popularity.These sorted images may also be filtered by the adult content filtermodule 177.

Finally, the image listing module 181 lists the images from the fourtables to form a plurality of search result pages. Then, the imagesearch server 169 delivers a first of these search result pagescontaining a first few search results of each of the tables. The firstsearch result page may contain, for example, a set of 16 images; four ineach row. The first row may contain images that closely correlate tothat of image of the beach house from one or more categories, the secondrow may contain the ones that are sorted on the basis of popularity, thethird row may contain images, words in the titles of which closely matchto the words ‘children art’, from one or more categories and the fourthrow may contain images with titles that closely match to the words‘children art’ and are sorted on the basis of popularity.

FIG. 2 is a schematic block diagram illustrating exemplary components ofthe image search server 207 constructed in accordance with theembodiment of FIG. 1 of the present invention. The image search servercircuitry 207 may, in whole or in part, be incorporated into anycomputing device that is capable of serving as an Internet based server.The image search server circuitry 207 generally includes processingcircuitry 209, local storage 217, manager interfaces 249 and networkinterfaces 241. These components are communicatively coupled to oneanother via one or more of a system bus, dedicated communicationpathways, or other direct or indirect communication pathways. Theprocessing circuitry 209 may be, in various embodiments, amicroprocessor, a digital signal processor, a state machine, anapplication specific integrated circuit, a field programming gate array,or other processing circuitry.

The network interfaces 241 contain wired and wireless packet switchedinterfaces 245 and may also contain built-in or an independent interfaceprocessing circuitry 243. The network interfaces 241 allow the imagesearch server 207 to communicate with client devices such as 261 and todeliver search result pages of images. The manager interfaces 249 mayinclude a display and keypad interfaces. These manager interfaces 249allow the user at the image search server 207 to control aspects of thepresent invention. The client device 261 illustrated are communicativelycoupled to the image search server 207 via an Internet 255.

Local storage 217 may be random access memory, read-only memory, flashmemory, a disk drive, an optical drive, or another type of memory thatis operable to store computer instructions and data. The local storage217 includes an image characteristic analysis module 219, imagecategorization module 221, image correlation module 223, adult contentfilter module 225, image text search module 227, image listing module229 and image database 231 to facilitate user's image search, inaccordance with the present invention.

The image characteristic analysis module 219 analyzes the images anddetermines characteristic parameter(s) of the images that are obtainedfrom a plurality of web hosting servers by crawling through them, bysubmission from users or when received from the client device 261 as asearch criterion. The characteristic parameter(s) thus determined arestored in the image database 231 along with the image, web linksassociated with the images, among other information. The imagecategorization module 221 determines the category of the imagesreceived, among many predetermined categories, based upon thecharacteristic parameter(s). This information of category is stored inthe image database 231 along with other information such ascharacteristic parameter(s), web links associated with images and imagetitles.

For example, when the search image is received from the client device261, the image characteristic analysis module 219 determines thecharacteristic parameter(s). This information is delivered to the clientdevice 261 if requested. Once characteristic parameter(s) of the searchimage are determined, the image categorization module 221 determines thecategory or categories of the search image. Alternatively, the user mayalso select one or more categories within which the search is intended.In this case, the image categorization module 219 skips determining thesearch image category or categories.

The image correlation module 223 performs correlation processing betweenthe determined characteristic parameter(s) of the search image and thatof the plurality of images in the image database 231. The correlatedimages in the image database 231 are then sorted on the basis ofcloseness in correlation and are tabled along with other image relatedinformation such as characteristic parameter(s), category, image titlesand web links. The image correlation module 223 also forms another tablethat contains, within the categories selected or chosen, images sortedon the basis of popularity. These sorted images may also be filtered bythe adult content filter module 225.

The image text search module 227 matches word(s) in the search stringwith that or those of titles of the plurality of images in the imagedatabase 231 and forms a table containing images, image titles and weblinks. Then, the image text search module 227 sorts the table on thebasis of closeness in match. In addition, in another table, the imagetext search module 227 sorts the images on the basis of popularity.These sorted images may also be filtered by the adult content filtermodule 225, by using word matching techniques.

Based upon the sorting of images and the filtering, by the imagecorrelation module 223 and image text search module 227, in arepresentative embodiment, four basic tables are formed. Each of thesetables may contain images from one or more user chosen or automaticallyselected categories. Finally, the image listing module 229 lists theimages from the four basic tables to form a plurality of search resultpages, each containing a certain portion of each of the four basictables, in a mutually exclusive manner so that none of the images in anyof the search result pages is repeated.

In other embodiments, the image search server 207 of the presentinvention may include fewer or more components than are illustrated aswell as lesser or further functionality. In other words, the illustratedimage search server is meant to merely offer one example of possiblefunctionality and construction in accordance with the present invention.

FIG. 3 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1. The functionality begins at a block 307when the image search server receives a search string and/or a searchimage, and a chosen category or chosen categories (if any) from theclient device. Then, at a next block 309, the image search serverperforms characteristic analysis and determines the characteristicparameter(s). This information is delivered to the client device ifrequested. Once characteristic parameter(s) of the search image aredetermined, the image search server determines the categories related tothe search image, if one or more categories within which the search isintended are not selected by the user.

At a next block 311, the image search server matches a word or words inthe search string with that or those of titles of a plurality of imagesin the database and selects images. The process of selecting imagesinvolves word matching between the search string and the titles of theimages in the database. Then, the process involves generating a tablecontaining columns of image titles and web links associated with theimages that are sorted on the basis of closeness in match. The imagesearch server also creates another table that is sorted on the basis ofpopularity.

At a next block 313, the image search server performs correlationprocessing between the determined characteristic parameter(s) of thesearch image and that of the plurality of images in the image databaseand selects images. The process of selecting images involves sortingcorrelated images on the basis of closeness in correlation and forming atable containing image related information such as, for example,characteristic parameter(s), category, image titles and web links. Theimage search server also forms another table that contains, within thecategory or categories selected or chosen, images sorted on the basis ofpopularity.

Then, at a next block 315, the image search server filters images withadult content from the images selected using search strings and/orsearch images with adult content. Then, the image search server liststhe images selected from the two tables using search string and twotables using search image to form a plurality of search result pages,each containing a certain portion of each table. At a final block 317,the image search server delivers a first search result page containing afirst few of the selected, sorted and filtered images using the searchstring, and a first few selected, sorted and filtered images using thesearch image, within one or more chosen or automatically determinedcategories.

FIG. 4 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1 upon delivering an image search server'sweb page, in accordance with the present invention. The functionalitybegins at a block 409 when the image search server's web page isdelivered to the web browser of the client device upon request. The webpage may be the image search server's first web page that initiates anew search session via a new search string and/or new search image orsubsequent search result pages of images. The first web page typicallycontains provisions to enter a search string, search image as well asbuttons that facilitate characteristic analysis (‘characteristicanalysis’ button), image search (‘image search’ button), viewing of asubsequent search result page (‘next’ button) and viewing of a previoussearch result page (‘prey’ button). Similarly, the subsequent searchresult pages of images contain provisions to enter new search string,select a displayed image as a new search image, upload a new searchimage, analyze a selected image (by selecting a image and clicking on‘characteristic analysis’ button) as well as ‘image search’ button,‘next’ button and ‘prey’ button.

Then, at a next decision block 421, the image search server determinesif ‘characteristic analysis’ button is clicked by the user in thedelivered image search server's web page. If yes, at a next block 455,the image search server performs characteristic analysis and deliversthe results to the web browser. The image characteristic parameter(s)may be delivered in a pop up window or the image window itself, eitherin a table format or graphically with numbers displayed along with theimage. After delivering image characteristic parameter(s) at the block455, the image search server waits for new inputs from the user of theclient device.

If ‘characteristic analysis’ button is not clicked at the decision block421, then, at a next decision block 423, the image search serverdetermines if ‘prey’ button is clicked. If yes, at a next block 457, theimages search server delivers an exact previous search result page andwaits for new inputs from the user of the client device. In case of theimage search server's first web page, the ‘prey’ button is disabledsince no previous pages are available. If ‘prey’ button is not clickedat the decision block 423, then, at a next decision block 425, the imagesearch server determines if ‘next’ button is clicked. If yes, at a nextblock 459, the images search server delivers a subsequent search resultpage and waits for new inputs from the user of the client device.

If ‘next’ button is not clicked at the decision block 425, then, at anext decision block 427, the image search server determines if ‘searchimage’ button is clicked. If not, the image search server waits for newinputs from the user of the client device. If yes at the decision block427, then the image server begins processing of a new search criteria,based upon a search string and/or search image at ‘A’ (refer to the FIG.5 for continuation).

FIG. 5 is a flow diagram illustrating exemplary functionality of theimage search server of FIG. 1, continued from FIG. 4. The processing ofa new search criteria starts at ‘A’, when at a block 461, the imagesearch server receives a search string and/or search image, and aselected category or selected categories, if any, from the clientdevice. At a next block 463, the image search server performscharacteristic analysis and determines the characteristic parameter(s)of the search image. If categories are selected by the user, at a nextblock 465, the image search server selects (retrieves) images thatbelong to the selected category or categories (if any) for furtherprocessing. If one or more of categories are not selected by the userand if the user decides that let the image search server do it, then theimage search server selects one or more categories based upon thecharacteristic parameter(s) of the search image.

Then, at a next block 467, the image search server matches words ofsearch string with that of titles of images in the database. At a nextblock 469, the image search server selects images from the imagedatabase that closely match (for example, above predeterminedthreshold). The process of selecting images starts when the matchedimages in the image database are sorted on the basis of closeness inmatch to generate a table containing columns of images titles, web linksassociated with the images and closeness in match. The image searchserver also creates another table that contains images titles, web linksassociated with the images and closeness in match that is sorted on thebasis of popularity.

At a next block 471, the image search server correlates characteristicparameter(s) of the search image with that of the plurality of images inthe database. Then, at a next block 473, the image search server selectsimages from the image database that closely correlate (for example,above a predetermined threshold). The image selection process using thesearch image involves creating a table containing image titles,associated web links and closeness in correlation among other columns,and then sorting the table on the basis of closeness in correlation. Inanother table, the image search server sorts the first few images thatclosely correlate on the basis of popularity. Thus, in a representativeembodiment, the image search server creates two or four tables,depending upon the availability of the search string or search image.

Then, at a next block 475, the image search server receives one or moreadult content filtering parameters from the client device. The adultcontent filtering parameter(s) may be received when a search process isinitiated or any time after that. At a next block 477, the image searchserver performs filtering of images that are sorted in the two or fourtables with adult content from the images selected using search stringsand/or search images with adult content.

At a next block 479, the image search server lists and generates asingle table containing images to form a plurality of search resultpages, from the two tables based upon the search string and two tablesbased upon the search image. The image search server generates thislisting in a mutually exclusive manner so that none of the images in anyof the search result pages is repeated. At a final block 481, the imagesearch server delivers a search result page containing first few imagesbased upon the search string and first few images based upon the searchimage. Then, the image search server waits for user response, at ‘B’(refer to FIG. 4). This process continues until the user abandons thesearch.

FIG. 6 is an exemplary schematic diagram illustrating a snap shot ofsearch interface web page of the image search server of FIG. 1.Specifically, the exemplary snap shot illustrated shows an image searchserver's first web page delivered to a web browser 635 of the clientdevice to facilitate a user's image search. The image search server'sfirst web page may contain a page title such as ‘Search Engine's webpage (www.Search_Engine.com)’ 621, and the ‘image search’ 683 and‘characteristic analysis’ 699 buttons.

In addition, text such as ‘Enter Search String:’ 671 and text box 681are provided to facilitate user's search. An additional image window isprovided for the user to cut and paste or upload search image. Text suchas ‘Cut and Paste Figure Here:’ 693 and ‘Upload Figure:’ 695 is providedto facilitate user's image search. Helpful note text informs the userabout the functioning of the image search engine of the presentinvention, such as ‘Note: This image search engine searches for imagesbased upon a search string and/or search image. “CharacteristicAnalysis” button provides feature analysis of the Figure, “Category”provides selection within image categories.’ may be provided with theimage search server's first web page.

The user may enter the search string in the text box 681, such as‘Children Art’ 673. The user may search on the basis of the searchstring alone. The image search server (169 of FIG. 1) provides images,in this case, based upon match in the words of the search string(Children and Art, in this illustration) with those of titles of theimages that are stored in the image database. In addition, the user mayprovide a search image. This may be done by cutting from some otherimage tool (painting or image software, for example) and pasting it onto the window provided in the search engine's web page. Alternatively,the user may upload the image to the image window using the upload textbox and by providing the address of the image file in the client device(‘C:/Images/boat.jpg’ 697, in the illustration). The uploaded imageappears in the image window once ‘upload image’ button 657 is clicked.

In addition, the image search server's first web page also containsprovision for user category selection 655. The category selectionprovision allows a user to select some of plurality of options such as‘Let SE (Search Engine) Determine’, ‘All Categories’, ‘Cartoon’,‘Portrait’, ‘Landscape’, ‘Graphics’ and ‘Architecture’. The ‘Let SE(Search Engine) Determine’ option allows the image search server todetermine one or more categories automatically based upon characteristicparameters of the search image. The ‘All Categories’ selection allowsthe image search server to search from all of the images in thedatabase. Other selections allow image searches that are specific to theselected category. Though the illustration shows single selections, inother embodiments, it is possible to select multiple categories. The‘characteristic analysis’ button allows user to view the characteristicparameters of the image in the image window, either in the form of atable or graphically. Once either or both of the search string 673 andsearch image are provided to the web page, the user may click on ‘imagesearch’ button 683. The web browser 635 sends the search string 673and/or search image to the image search server for further processing.

FIG. 7 is an exemplary schematic diagram illustrating snap shot of afirst image search result page based upon a search string and a searchimage. Specifically, the exemplary snap shot illustrated shows a firstsearch result page 705 delivered to web browser 735 of the clientdevice, containing selected searched images, on the basis of a searchstring/search image. The first search result page delivered may containa page title such as ‘Search Engine's Search Result Page(www.Search_Engine.com)’ 721.

A text such as ‘Enter Search String:’ 771 and text box 781 are providedto facilitate user's further search. An additional image window showssearched images, which are selectable for further search. That is, theimage window contains a series of images delivered by the image searchserver (169 of FIG. 1). For example, the image window illustrated maycontain a set of 16 images; in four rows and four columns. Each of thefour rows may, for example, contain: (i) images sorted on the basis ofcloseness in correlation to the search image, within the selectedcategories; (ii) images sorted on the basis of popularity within thefirst few closely correlated images in (i), within the selected categoryor categories; (iii) images sorted on the basis of closeness in matchbetween the word(s) in the titles of the plurality of images, in theimage database, to that or those of a search string, within the selectedcategory or categories; and (iv) images sorted on the basis ofpopularity within the first few closely matched images in (iii), withinthe selected category or categories, respectively. The images in theimage window may also have different portions of one of the fourpossibilities mentioned above, in other embodiments.

The image window facilitates the ability of a user to select any of thedisplayed images for further search. The illustration shows a secondimage being selected. Once selected, the user may click on the ‘imagesearch’ button 783 to initiate a new search based upon a selected searchimage and entered search string in the text box 781. Similarly, the usermay click on ‘characteristic analysis’ button 799 to view thecharacteristic parameter(s) of the image selected. The illustrationshows a search string in the text box 781 as ‘Children Art’ 773,selected image as a second one in the first row. Alternatively, the usermay upload a new image to the image window using the upload text box797, and by providing the address of the image in the client device(‘C:/Images/boat.jpg’ 797, in the illustration). The uploaded imageappears in the image window once an ‘upload image’ button 757 isclicked. Text such as ‘Select Figure for a New Search:’ 793 and ‘UploadNew Figure:’ 795 are provided to guide the user toward a new search.

The first search result page also contains provision for user categoryselection 755, if a new search is to be initiated (based upon a selectedimage). The category selection provision allows user to select some ofplurality of options such as ‘Let SE (Search Engine) Determine’, ‘AllCategories’, ‘Cartoon’, ‘Portrait’, ‘Landscape’, ‘Graphics’ and‘Architecture’. Though the illustration shows single selections, inanother embodiment, it is possible to select multiple categories. Thesearch result page also contains the ‘prey’ 785 and ‘next’ 789 buttonsto access prior displayed search result pages and the subsequent searchresult pages, respectively. By clicking on the title or double clickingon the image, the user may be able watch the corresponding image in itsoriginal size in a pop-up window. Helpful note text informs the userabout the functioning of the image search engine of the presentinvention, such as ‘Note: “Characteristic Analysis” button providesfeature analysis of the Figure, “Category” provides selection withinimage categories.’ may also be provided.

The terms “circuit” and “circuitry” as used herein may refer to anindependent circuit or to a portion of a multifunctional circuit thatperforms multiple underlying functions. For example, depending on theembodiment, processing circuitry may be implemented as a single chipprocessor or as a plurality of processing chips Likewise, a firstcircuit and a second circuit may be combined in one embodiment into asingle circuit or, in another embodiment, operate independently perhapsin separate chips. The term “chip”, as used herein, refers to anintegrated circuit. Circuits and circuitry may comprise general orspecific purpose hardware, or may comprise such hardware and associatedsoftware such as firmware or object code.

As one of ordinary skill in the art will appreciate, the terms “operablycoupled” and “communicatively coupled,” as may be used herein, includedirect coupling and indirect coupling via another component, element,circuit, or module where, for indirect coupling, the interveningcomponent, element, circuit, or module does not modify the informationof a signal but may adjust its current level, voltage level, and/orpower level. As one of ordinary skill in the art will also appreciate,inferred coupling (i.e., where one element is coupled to another elementby inference) includes direct and indirect coupling between two elementsin the same manner as “operably coupled” and “communicatively coupled.”

The present invention has also been described above with the aid ofmethod steps illustrating the performance of specified functions andrelationships thereof. The boundaries and sequence of these functionalbuilding blocks and method steps have been arbitrarily defined hereinfor convenience of description. Alternate boundaries and sequences canbe defined so long as the specified functions and relationships areappropriately performed. Any such alternate boundaries or sequences arethus within the scope and spirit of the claimed invention.

The present invention has been described above with the aid offunctional building blocks illustrating the performance of certainsignificant functions. The boundaries of these functional buildingblocks have been arbitrarily defined for convenience of description.Alternate boundaries could be defined as long as the certain significantfunctions are appropriately performed. Similarly, flow diagram blocksmay also have been arbitrarily defined herein to illustrate certainsignificant functionality. To the extent used, the flow diagram blockboundaries and sequence could have been defined otherwise and stillperform the certain significant functionality. Such alternatedefinitions of both functional building blocks and flow diagram blocksand sequences are thus within the scope and spirit of the claimedinvention.

One of average skill in the art will also recognize that the functionalbuilding blocks, and other illustrative blocks, modules and componentsherein, can be implemented as illustrated or by discrete components,application specific integrated circuits, processors executingappropriate software and the like or any combination thereof.

Moreover, although described in detail for purposes of clarity andunderstanding by way of the aforementioned embodiments, the presentinvention is not limited to such embodiments. It will be obvious to oneof average skill in the art that various changes and modifications maybe practiced within the spirit and scope of the invention, as limitedonly by the scope of the appended claims.

1. An online search system that services both a plurality of web servers and a plurality of users via an Internet, the plurality of web servers offering a plurality of web page data, the plurality of web page data including a plurality of text data and a plurality of text based links to a plurality of images, the online search system comprising: a crawl processing service that interacts with each of the plurality of web servers to gather both the plurality of images and, for each of the plurality of images, related text data; an image processing service that analyzes each of the plurality of images to produce analysis data; a database structure associatively storing, for each of the plurality of images, the analysis data, and link data; a search support system that receives search input that originates from a first user of the plurality of users, the search input including a first image; a search system that, using at least a portion of the search input, searches the database to identify a first selection of images from the plurality of images that are similar to the first image; and image content filtering processing that filters the first selection of images based upon at least one adult filter parameter.
 2. The online search system of claim 1, wherein the search system further: receives a category selection from the first user; and searches the database to identify a second selection of images from the plurality of images based upon the category selection that are similar to the first image.
 3. The online search system of claim 2, wherein the search system assists in delivery of at least portions of both the first selection of images and the second selection of images to support a category based visual presentation for the first user.
 4. The online search system of claim 1, wherein the search system further: assists in delivery of at least a portion of the first selection of images to the first user; receives a restriction input from the first user; and assists in delivery of a second selection of images of the selection of images based upon the restriction input.
 5. The online search system of claim 1, wherein: the search system identifies a search category based upon the search input; and the search system further searches the database to identify the first selection of images from the plurality of images that are similar to the first image based upon the search category.
 6. The online search system of claim 5, wherein the search category is based upon a categorization of the first image.
 7. The online search system of claim 5, wherein the search category is based upon the search input.
 8. The online search system of claim 5, wherein the search category is an image search option.
 9. The online search system of claim 1, wherein the search system further identifies the first selection of images from the plurality of images based upon popularity of images of the plurality of images.
 10. The online search system of claim 1, wherein the search system further orders the first selection of images based upon a closeness of match between images of the first selection of images and the first image.
 11. The online search system of claim 1, wherein the search system further searches the database to identify a second selection of images from the plurality of images based upon further user input.
 12. The online search system of claim 1, wherein the search input comprises a series of search input interactions that sequentially arrive in response to user presentation of a corresponding series of search results.
 13. An online search system that services both a plurality of web servers and a plurality of users via an Internet, the plurality of web servers offering a plurality of web page data, the plurality of web page data including a plurality of text data and a plurality of text based links to a plurality of images, the online search system comprising: a crawl processing service that interacts with each of the plurality of web servers to gather the plurality of images; an image processing service that analyzes of each of the plurality of images to produce analysis data; a database structure associatively storing, for each of the plurality of images, the analysis data and link data; the search system that, based at least in part on a first analysis of a first image received as search input from a first user, searches the database to identify a first selection of images from the plurality of images; the search system further filters the first selection of images based upon at least one adult filter parameter; and the search system at least assisting in a delivery of at least a portion of the first selection of images to support a visual presentation for the first user.
 14. The online search system of claim 13, wherein the search system further: receives a category selection from the first user; identifies a second selection of images from the plurality of images based upon the category selection that are similar to the first image; filters the second selection of images based upon the at least one adult filter parameter; and assists in delivery of at least a portion of the second selection of images for visual presentation for the first user.
 15. The online search system of claim 13, wherein the search system further: receives a restriction input from the first user; and assists in delivery of a modified selection of images of the first selection of images based upon the restriction input.
 16. The online search system of claim 13, wherein: the search system identifies a search category based upon the search input; the search system further determines the first selection of images from the plurality of images based upon the search category.
 17. The online search system of claim 16, wherein the search category is based upon a categorization of the first image.
 18. The online search system of claim 16, wherein the search category is based upon the search input.
 19. The online search system of claim 16, wherein the search category comprises an image search option from the first user.
 20. The online search system of claim 13, wherein the search system further identifies the first selection of images based upon popularity of images of the first selection of images.
 21. The online search system of claim 13, wherein the search system further orders the first selection of images based upon a closeness of match between images of the first selection of images and the first image.
 22. The online search system of claim 13, wherein the search system further searches the database to identify a second selection of images from the plurality of images based upon further user input.
 23. The online search system of claim 13, wherein the search input further comprises a series of search input interactions that sequentially arrive in response to user presentation of a corresponding series of search results.
 24. A computer program for instructing a user's computer of a user to perform a method supporting Internet based interaction with an online search system, the online search system gathering a plurality of web page related data including a plurality of related images from a plurality of web servers, the method comprising: directing the user's computer to produce a first visual presentation for the user to support gathering of search input from the user, the search input including an image category and a first image; directing the user's computer to deliver the search input to the online search system to support a first search by the online search system based on the first image; and directing the user's computer to produce a second visual presentation for the user based on results received from the first search, the second visual presentation including a first selection of images, the first selection of images being at least similar to the first image and based upon at least one adult filter parameter.
 25. The computer program of claim 24, the second visual presentation supporting gathering of a category selection from the user, and the method further comprising: directing the user's computer to deliver the category selection to the online search system; and directing the user's computer to produce a third visual presentation for the user including a second selection of images selected from the plurality of related images based upon the category selection, the second selection of images being at least similar to the first image and based upon at least one adult filter parameter.
 26. The computer program of claim 24, the second visual presentation providing a category based visual presentation for the user.
 27. The computer program of claim 24, the second visual presentation supporting gathering of a restriction input from the user, and the method further comprising: directing the user's computer to deliver the restriction input to the online search system; and directing the user's computer to produce a third visual presentation for the user including a second selection of images selected from the plurality of related images based upon the restriction input, the second selection of images being at least similar to the first image.
 28. The computer program of claim 24, wherein the first selection of images also based upon popularity of images.
 29. The computer program of claim 24, wherein the first selection of images ordered based upon a closeness of match between images of the first selection of images and the first image.
 30. The computer program of claim 24, wherein the method including supporting a series of search input interactions with the online search system. 